home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1998 / MacHack 1998.toast / Papers / C++ Exceptions / µShell / Toolbox / (Obsolete) / SystemInfo.h < prev   
Encoding:
C/C++ Source or Header  |  1998-05-25  |  1.5 KB  |  63 lines  |  [TEXT/CWIE]

  1. #ifndef _SYSTEMINFO_
  2. #define _SYSTEMINFO_
  3.  
  4. //#include "BuildConditionals.h"
  5. #include <Types.h>
  6. #include <Gestalt.h>
  7.  
  8. //--------------------------------------------------------------------------------
  9. inline Boolean HasGestalt(OSType selector, short gestaltBit)    
  10. {
  11.     long result;
  12.  
  13.     return (Gestalt(selector, &result) == noErr) && (result & (1 << gestaltBit));
  14. }
  15.  
  16.  
  17. #if CFMSYSTEMCALLS
  18.     // If a function can come from a shared library, then we have to check for
  19.     // the library as well as the gestalt selector
  20.  
  21.     #define HasLibrary(gestaltSelector, gestaltBit, entryPoint)            \
  22.                 (HasGestalt(gestaltSelector, gestaltBit)                \
  23.                  && ((Ptr) entryPoint != (Ptr) kUnresolvedSymbolAddress))
  24. #else
  25.     #define HasLibrary(gestaltSelector, gestaltBit, entryPoint)            \
  26.                 HasGestalt(gestaltSelector, gestaltBit)
  27. #endif
  28.  
  29.  
  30. // Threads
  31. //TO DO  this is used by process.cp, but it shouldn't be
  32.  
  33. #define qThreadManagerOptional (qSupportThreadManager && !qRequireThreadManager)
  34.  
  35. #if qThreadManagerOptional
  36.     extern Boolean gHasThreadManager;
  37. #else
  38.     #define gHasThreadManager    qSupportThreadManager
  39. #endif
  40.  
  41. #define HasThreadManager() gHasThreadManager
  42.  
  43.  
  44. // QuickDrawGX
  45.  
  46. //#define qQuickDrawGXOptional (qSupportQuickDrawGX && !qRequireQuickDrawGX)
  47.  
  48. //#if qQuickDrawGXOptional
  49. //    extern Boolean gHasQuickDrawGX;
  50. //#else
  51. //    #define gHasQuickDrawGX    qSupportQuickDrawGX
  52. //#endif
  53.  
  54. //#define HasQuickDrawGX() gHasQuickDrawGX
  55.  
  56. //extern Boolean gHasColorQuickdraw;
  57. //extern Boolean gHasDisplayManager;
  58.  
  59.  
  60.  
  61. #endif // _SYSTEMINFO_
  62.  
  63.